import { HIDE_ALERT, SHOW_ALERT } from '@/store/actionType'
import { ERROR, SUCCESS, WARNING, INFO } from '@/components/FAlert/alertTypes'
export const alertDispatch = (dispatch) => {
    return {
        // 显示
        /* showAlert(msg, type) {
            dispatch({
                type: SHOW_ALERT,
                value: { msg, type }
            })
            setTimeout(() => {
                dispatch({
                    type: HIDE_ALERT,
                })
            }, 2000)
        }, */
        // 成功（传一个msg）
        success(msg) {
            dispatch({
                // 派送SHOW_ALERT的action
                type: SHOW_ALERT,
                // 传入值
                value: { msg, type: SUCCESS }
            })
            // 通过定时器，实现n秒后消失
            setTimeout(() => {
                dispatch({
                    // 调用隐藏的action
                    type: HIDE_ALERT,
                })
            }, 2000)
        },
        // 失败
        error(msg) {
            dispatch({
                type: SHOW_ALERT,
                value: { msg, type: ERROR }
            })
            setTimeout(() => {
                dispatch({
                    type: HIDE_ALERT,
                })
            }, 2000)
        },
        // 警告
        warning(msg) {
            dispatch({
                type: SHOW_ALERT,
                value: { msg, type: WARNING }
            })
            setTimeout(() => {
                dispatch({
                    type: HIDE_ALERT,
                })
            }, 2000)
        },
        // 信息
        info(msg) {
            dispatch({
                type: SHOW_ALERT,
                value: { msg, type: INFO }
            })
            setTimeout(() => {
                dispatch({
                    type: HIDE_ALERT,
                })
            }, 2000)
        },
    }
}